写这篇的起因,就是最近几节课课的期中报告都是Data mining相关的project。
工具🔨 vs 目的🚩
美国作家马克·吐温有句名言,说:“如果你身上唯一的工具是一把锤子,那么你会把所有的问题都看成钉子。”美国著名投资家查理·芒格,根据马克·吐温的这句话,将这种现象称为“拿锤子的人”——芒格分析说,人们经过年复一年的专业培训,会成为经济学家、工程师、营销经理、投资经理等等。一旦当他们了解并熟悉某一个领域的思维模式之后,他们就会到处尝试将所有遇到的问题,都用自己的专业思维模式来解决。
我们在学习的时候也会有这种问题,像是这学期的社群媒体分析的课上学习了一些nlp的知识以及工具,像是“情绪分析”,“关系网络”,“n-grams”等。就使得在分析某个议题的时候,我们就会很自然的直接套用这些分析工具,无论是否必要。
这就引出最近我在做 Data mining 的时候几点反思:
我们分析的目的是什么?
很多时候我们甚至都还没明确分析的目的,只是有一个现成的资料集,就开始按照流程来套工具🔧。把一个资料集用额种各样工具处理完之后,再来从一堆结果中找有什么值得探讨和解释的points。这其实是一个很本末倒置的过程。我们的分析应该是为我们的目的服务的,而不是从结果中随意得出几个结论。
所以在开始一些列分析的步骤前一定要先厘清我们的目标:
- 我们最主要分析的问题是什么? (what?How?)
- 这个问题的合理性以及意义所在?
- 围绕这个问题我们能从那些方面展开讨论?
我们也可以借助一些工具来帮助我们展开我们要分析的问题,厘清我们要分析的目标:
- 问题树
- ⋯⋯
总之多花些时间在厘清分析的目的会便于我们后续运用更合适的工具,得到我们想要的结果。不会做着做着突然突然迷失在一堆资料中,开始怀疑自己到底在干嘛。
工具是否合适?
厘清问题之后我们就可以选择合适的分析工具了。工具的何时与否还是要看我们分析的目的是什么。
分析结果的评估?
模型的评估
模型的评估,在Data mining中对于分类和回归问题都有很多不同的评估方式(Accuracy,F1-score,SSE,MSE⋯⋯),但是具体问题要具体分析,找到合适的评估指标。用错了评估指标就会出现,像是Accuracy很高,但是模型并不fit的情况。
结果的评估
结果的评估分为很多个方面,首先我们要看是不是有符合我们想要分析的目标。
如果没有得到我们预期的结果是什么原因:
- 资料本身的属性,并不能很好的解决我们的问题(要不要多加入一些资料)
- 是不是资料的前处理有问题(像是feature的筛选、data imbalance的处理、断词、专业领域的lexicon的选择等)
- 工具的选择有些问题(有些资料可能不适合用树的模型做分类)
化繁为简
以前考试只觉得煎熬,想着怎么在考前最短的时间拿到还不错的成绩,然后考完就可以就瞬间把所有知识忘掉。
最近开始意识到其实考试是一个很好的化繁为简的过程,而且是有人帮助你将重点的知识归纳出来。
其实复习已经是一个强迫自己梳理知识归纳总结的过程了,但是透过考试我们能更好的找出自己梳理的重点,和老师想在这节课传达的重点之间的差距。从而补足自己这节课上的知识漏洞。意识到这一点之后,其实分数已经没那么重要了,重要的是归纳梳理的过程,以及考试之后对于自己知识漏洞的补足。